import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
//2022天梯赛热身赛1~7题满分代码
public class Main {
   /* static void tall(int j, int y) {
        int tall_1 = 130;
        int tall_2 = 129;
        if (j == 1) {
            if (y < tall_1) {
                System.out.print("duo chi yu! ");
            } else if (y > tall_1) {
                System.out.print("ni li hai! ");//记得留空格
            } else System.out.print("wan mei! ");
        } else if (j == 0) {
            if (y < tall_2) {
                System.out.print("duo chi yu! ");
            } else if (y > tall_2) {
                System.out.print("ni li hai! ");//记得留空格
            } else System.out.print("wan mei! ");
        }
    }

    static void fat(int j, int x) {
        int fat_1 = 27;
        int fat_2 = 25;
        if (j == 1) {
            if (x < fat_1) {
                System.out.println("duo chi rou!");
            }
            else if (x > fat_1) {
                System.out.println("shao chi rou!");
            }
            else System.out.println("wan mei!");
        } else if (j == 0) {
            if (x < fat_2) {
                System.out.println("duo chi rou!");
            }
            else if (x > fat_2) {
                System.out.println("shao chi rou!");
            }
            else System.out.println("wan mei!");
        }
    }
*/
//    static int torSum(int x,int r){//仅仅计算x*r的sum
//        int num=x*r;
//        String nums=num+"";
//        int sum=0;
//        for(int i=0;i<nums.length();i++){
//            sum+=nums.charAt(i)-'0';
//        }
//        return sum;
//    }
//
//    static boolean judge(String s){
//        for(int i=0;i<s.length()-1;i++){
//            //对Z特殊判断
//
//            if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){//大写
//                if(s.charAt(i)=='Z'){
//                    if(s.charAt(i+1)!=s.charAt(i)+32){
//                        return false;
//                    }
//                    continue;
//                }
//                if(s.charAt(i+1)!=s.charAt(i)+32&&s.charAt(i+1)!=s.charAt(i)+1){
//                    return false;
//                }
//            }
//            if(s.charAt(i)>='a'&&s.charAt(i)<='z'){//小写
//                if (s.charAt(i)=='a'){//对a特殊判断
//                    if(s.charAt(i+1)!=s.charAt(i)-32){
//                        return false;
//                    }
//                    continue;
//                }
//                if(s.charAt(i+1)!=s.charAt(i)-32&&s.charAt(i+1)!=s.charAt(i)-1){
//                    return false;
//                }
//            }
//        }
//        return true;
//    }

    //找m~n的素数
    static boolean ifSuShu(int x) {
        for (int i = 2; i <= Math.sqrt(x); i++) {
            if (x % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        int a[] = new int[n - m + 2];
        int w = 0;//下标起始位置
        int ans = 0;
        for (int i = m; i <= n; i++) {
            boolean isIt = ifSuShu(i);
            if (isIt) {
                a[w] = i;//把素数都放进a[]里面
                w++;
            }
        }
        //对a处理
        List<Integer> list = new ArrayList<Integer>();
        for (int num :
                a) {
            if (num != 1 && num != 0) {
                list.add(num);
            }
        }
        Integer b[] = new Integer[list.size()];
         list.toArray(b);
        System.out.println(Arrays.toString(b));
        for (int i = 0; i <= b.length - 1; i++)
            for (int j = i + 1; j <= b.length - 1; j++)
                for (int k = j + 1; k <= b.length - 1; k++) {
                    int p = b[i];
                    int q = b[j];
                    int r = b[k];
                    if (ifSuShu(p * q + r)) {
                        if (ifSuShu(p * r + q) && ifSuShu(r * q + p)) {
                            ans++;
                        }
                    } else continue;
                }
        System.out.println(ans);
//        int n=sc.nextInt();
//        for(int i=0;i<n;i++){
//            String s=sc.next();
//            boolean res = judge(s);
//            if (res) System.out.println("Y");
//            else System.out.println("N");
//        }
        /*int n=sc.nextInt();
        for(int i=0;i<n;i++){
            int num=sc.nextInt();//分别输入
            int flag=1;

            int sum0=torSum(num,2);//找到初心
//            System.out.println("sum0 = " + sum0);
            for(int q=3;q<=9;q++){//从3开始
               int sum_temp=torSum(num,q);
               if (sum0!=sum_temp){
                   flag=0;
                   System.out.println("NO");
                   break;
               }
            }
            if (flag==1){
                System.out.println(sum0);
            }
//            System.out.println("i:"+i);
        }*/






        /*444int n=sc.nextInt();
        for(int i=0;i<n;i++){
            int j=sc.nextInt();
            int y=sc.nextInt();
            int x=sc.nextInt();
            tall(j,y);
            fat(j,x);*/
//        }

        /*111int n=sc.nextInt();
        System.out.print("print("+n+")");*/

        /*222System.out.println(sc.nextInt()+sc.nextInt()-1);*/

        /*333double p = sc.nextDouble();
        int j = sc.nextInt();
        double q = sc.nextDouble();
        double res=0;
        if (j == 0) {
            res = p * 2.455;
        } else if (j == 1) {
            res = p * 1.26;
        }
        if(res>=1){
            System.out.printf("%.2f T_T", res);
        }
        else if(res<1){
            System.out.printf("%.2f ^_^", res);
        }*/


    }
}
